Ubuntu环境下制作kernel deb包

您所在的位置:网站首页 linux 编译 产生shadow Ubuntu环境下制作kernel deb包

Ubuntu环境下制作kernel deb包

2024-07-17 00:23| 来源: 网络整理| 查看: 265

1.kernel下载与解压

linux kernel下载地址:

https://www.kernel.org/pub/linux/kernel/

我下载的是linux-5.4.146.tar.xz 解压:

tar -xf linux-5.4.146.tar.xz 2.环境

编译前需做好准备工作,安装必要的工具:

sudo apt install build-essential sudo apt install kernel-package sudo apt install dwarves 3.配置

可copy一份本机原来对应内核版本的配置文件,并在此基础上进行修改。

cd linux-5.4.146 cp /boot/config-5.4.0-146-generic .config 4.编译 sudo make-kpkg --initrd --revision 001 --append-to-version -20230524 kernel_image kernel_headers --config menuconfig

编译选项解释如下: --initrd:选项会让make-kpkg自动帮我们生成initramfs。 --revision:会给生成的deb文件加上一个版本信息,这个参数只是影响到文件名,如果不指定,默认会是“10.00.Custom”。 --append-to-version:是一种版本信息,它不仅出现在deb安装包的文件名里,也会影响到kernel的名称,比如本例中,内核更新完成之后,用“uname -r”察看会得到“5.4.146-20230524”。 kernel_image:表示生成内核和默认模块的安装包。 kernel_headers:表示生成一个内核头文件的安装包;如果不生成这个deb包,那么我们就无法在/usr/src目录下生成linux-headers-x.x.x,这样就无法编译自己的内核模块(虽然可以通过apt-get来安装,但是通过这个方式安装的不一定是自己正在使用的内核版本)。 --config=menuconfig:表示以menuconfig的方式编译。

编译完成后,会在linux-5.4.146的上一级目录生成2个文件,一个是image的,一个是headers的,如我生成的2个文件为:linux-image-5.4.146-20230524_001_amd64.deb,linux-headers-5.4.146-20230524_001_amd64.deb

至此,kernel的deb包就生成完成了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3